package com.tomshushu.doc.freedoc.modular.directory.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tomshushu.doc.freedoc.modular.directory.entity.DirectoryEntity;
import com.tomshushu.doc.freedoc.modular.directory.model.param.AddDirectoryParam;
import com.tomshushu.doc.freedoc.modular.directory.model.param.DeleteDirectoryParam;
import com.tomshushu.doc.freedoc.modular.directory.model.param.GetChildDirectoryParam;
import com.tomshushu.doc.freedoc.modular.directory.model.param.ReNameParam;
import com.tomshushu.doc.freedoc.modular.directory.model.result.GetChildDirectoryListResult;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * @description:
 * @author: zhouhong
 * @date: 2025-06-11 12:18
 * @version: 1.0
 */
public interface DirectoryService extends IService<DirectoryEntity> {
    /**
     * 添加目录
     *
     * @param param
     */
    DirectoryEntity addDirectory(AddDirectoryParam param);

    /**
     * 重命名目录
     *
     * @param param
     */
    void rename(@RequestBody ReNameParam param);

    /**
     * 获取子目录列表
     *
     * @param param
     * @return
     */
    GetChildDirectoryListResult getChildDirectoryAndDocList(GetChildDirectoryParam param);

    /**
     * 删除目录以及子目录和文档
     *
     * @param param
     * @return
     */
    void deleteDirectory(DeleteDirectoryParam param);
}